home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Standards 1994 January / InfoMagic Standards - January 1994.iso / misc / merit / noop / tutorial / idrp.tut < prev    next >
Text File  |  1992-01-20  |  44KB  |  885 lines

  1.  
  2.  
  3.            
  4.           IDRP Tutorial 
  5.  
  6.           By Susan Hares (MERIT)
  7.  
  8.  
  9.           Introduction
  10.           ------------
  11.           Out of  the fertile  ground of the  Internet and  the traditional
  12.           ANSI  subcommittees   has  sprung  an  OSI  Inter-Domain  Routing
  13.           Protocol (IDRP).  This protocol is officially called
  14.            
  15.                  "Information Processing Systems - Telecommunications and
  16.                   Information Exchange between Systems - Protocol for
  17.                   Exchange of Inter-Domain Routeing Information among
  18.                   Intermediate Systems to Support Forwarding of ISO
  19.                   8473 PDUs (CD 10747)".
  20.            
  21.           This paper  provides an overview of the IDRP protocol in terms of
  22.           its  architecture  and  features.   No attempt  has been made  to
  23.           describe the format of packets  or state machines.  These details
  24.           are  better left  to the  protocol document.   Charlie  Kunzinger
  25.           (IBM),  the  editor of  the  ISO  IDRP  document, has  kept  this
  26.           document readable, and deserves a lot of thanks for his efforts.
  27.            
  28.           IDRP has progressed  along the standards track to Committee Draft
  29.           (CD)  ballot.  CD Ballot is the second stage in the ISO standards
  30.           process.  This stage is  similar to "Proposed Internet  Standard"
  31.           status  in   the  IP  Internet  world.     The  current  protocol
  32.           description is firm  foundation for implementation but,  like all
  33.           standards at  the Committee  Draft level, IDRP  is still  open to
  34.           possible technical changes.
  35.  
  36.           Merit demonstrated a prototype implementation  of the IDRP during
  37.           INTEROP 91.  Experience with the prototype has been fed back into
  38.           the IDRP  specification.   For additional  information about  the
  39.           IDRP prototype,  please contact Merit  (email address:nsfnet-info
  40.           @merit.edu).
  41.            
  42.           Special thanks go to Charlie Kunzinger (IBM), the editor of IDRP,
  43.           whose  ten  pages of  overheads were  turned into  this document.
  44.           Thanks are also due  to Dave Katz (Merit) and Yakov Rekhter (IBM)
  45.           who reviewed this document extensively. 
  46.               
  47.           Architectural Overview
  48.           ======================
  49.           OSI Routing Environment
  50.           -------------------------
  51.            
  52.           The OSI routing environment is described in  ISO TR 9575 [1] as a
  53.           set of  interconnected Routing Domains  (RDs). RDs are  groups of
  54.           hosts and routers that operate according to the same routing plan
  55.           and  are administered  by a  single authority.    Routing domains
  56.           interact with  each other in  a "mutually suspicious  manner" [1]
  57.           due to their mutual independence  and autonomy.  Routing  domains
  58.           may  each have  their own  view  of what  constitutes an  optimal
  59.           route.   The OSI  routing environment does  not require  that all
  60.           routing  domains have homogenous  criteria (policy) about  how to
  61.           select an optimal route.
  62.  
  63.           In many ways a routing domain is like an Autonomous System in the
  64.  
  65.  
  66.                                           1
  67.  
  68.  
  69.  
  70.  
  71.           IP  Internet [2].   Routing information  passed within  a routing
  72.           domain  (Intra-Domain)  is trusted.   Routing  information passed
  73.           between domains (Inter-Domain) may not be trusted.  IDRP provides
  74.           a means to communicate routing information and to calculate 
  75.           routes between routing  domains.  IDRP does not  require that all
  76.           routing  domains have  homogeneous  criteria (policy)  for  route
  77.           selection[3].   
  78.  
  79.           Routing knowledge  needs to be  spread throughout an  internet in
  80.           some  ubiquitous  manner  if  packets are  going  to  reach their
  81.           destinations.   However, the independent and autonomous status of
  82.           routing  domains  within  an   internet  work  against  providing
  83.           homogeneous  routing  information.    In  this  environment, some
  84.           routing domains (such as NSFNET)  need to carry traffic on behalf
  85.           of other routing domains.   Routing domains that carry traffic on
  86.           the behalf of other routing  domains are known as Transit Routing
  87.           Domains (regional networks and backbone networks, for example). 
  88.  
  89.           Since a  routing domain has only a finite amount of resources, it
  90.           must  control on how these resources are  used.  For example, NSF
  91.           does  not  want  to subsidize  XYZ  Corporation  by  allowing the
  92.           commercial traffic from XYZ Corporation  to go across NSFNET.  To
  93.           control what traffic passes through  NSFNET, NSFNET controls what
  94.           routing  information it  accepts  and transmits.   By  using this
  95.           control,   NSFNET does not  carry the commercial traffic  for XYZ
  96.           corporation.
  97.  
  98.           In an atmosphere,  in which each routing domain  needs to control
  99.           the traffic passed through it by controlling the dissemination of
  100.           routing information,  one  RD may filter the routing  information
  101.           it receives from another  RD.  By filtering the routes, a routing
  102.           domain keeps only  the routing information needed to  do its job.
  103.           A routing domain  may also filter what  it sends to other  RDs so
  104.           that only certain pathways are used.  In addition, configurations
  105.           are   set  up  to  authenticate   the  remote  peer  sending  the
  106.           information.     This  filtering  and  authentication  creates  a
  107.           "firewall"  to  keep  each routing  domain  independent  of other
  108.           routing domains.
  109.  
  110.           Routing  domains  whose policies  do  not  permit them  to  carry
  111.           transit traffic are known as  End Routing Domains.    End Routing
  112.           Domains  may be  further  subdivided into  those  connected to  a
  113.           single  adjacent  RD  (Stub)  and  those  connected  to  multiple
  114.           adjacent RDs (multi-homed).  In figure 1, C  is a transit routing
  115.           domain and B  is a multi-homed routing domain.  Routing  domain A
  116.           is  a stub  routing  domain.   Routing  domain A  is  adjacent to
  117.           routing domain C.
  118.  
  119.              ----------               ------------            ------------
  120.               |  RD A   |--------------|  RD  C   |            |   RD D   |
  121.               | (stub)  |              | transit  |------------| transit  |
  122.               -----------               ------------          -------------
  123.                                             |                      |
  124.                                             \                     /
  125.                                               \                  /
  126.                                                 \              /
  127.                                                 ----------------
  128.                                                 |  RD B        |  
  129.                                                 | multi-homed  |
  130.                                                  ---------------
  131.            
  132.  
  133.  
  134.                                           2
  135.  
  136.  
  137.  
  138.  
  139.           Figure 1 - Routing Domains
  140.            
  141.  
  142.  
  143.           Inter-Domain Routing Goals
  144.           ---------------------------
  145.            
  146.           IDRP is designed  to provide for  the deterministic selection  of
  147.           paths through  the OSI  environment (internet)  taken by  network
  148.           layer packets.  Included in the  design criteria for IDRP are the
  149.           ability to:
  150.  
  151.                - scale well to a growing internet, and
  152.                - allow transit routing domains to transit
  153.                     traffic.
  154.  
  155.           Additionally, IDRP  assumes that  the OSI environment  (internet)
  156.           may face multiple cuts to the topology of the network.  Therefore
  157.           IDRP provides routing that adapts to the  topological changes (at
  158.           the Inter-Domain level).
  159.  
  160.           When  a protocol  scales  well,  it will  make  efficient use  of
  161.           network bandwidth and the processing and memory within routers.
  162.            
  163.           IDRP was designed to fit into the OSI stack without affecting the
  164.           existing network layer protocols.  These protocols are:
  165.            
  166.              CLNP  - Connectionless Network Layer Protocol (ISO 8473) [3]
  167.            
  168.              ES-IS - End System to Intermediate System routeing exchange
  169.                          protocol (ISO 9452) [4]
  170.            
  171.              IS-IS - Intermediate System to Intermediate System
  172.                     Intra-Domain Routeing protocol (ISO 10589) [5]
  173.            
  174.           IDRP does not require either ES-IS  or IS-IS in order to  operate
  175.           properly.   The  only  requirement  placed  on  the  intra-domain
  176.           routing  environment  is  the presence  of  stable  paths between
  177.           border  routers in  the same  RD participating  in IDRP  (for the
  178.           forwarding of transit  traffic) and the presence  of stable paths
  179.           to  and from  end  systems  within the  routing  domain (for  the
  180.           forwarding of traffic originating or terminating within the local
  181.           RD).   IDRP was not  designed to  provide user data  security, to
  182.           adapt routes  based on traffic  load, or to repair  partitions of
  183.           routing domains.  
  184.  
  185.            
  186.           Multiple Qualities of Service
  187.           -----------------------------
  188.            
  189.           The OSI connectionless network layer protocol (ISO 8473) allows a
  190.           network packet  to request  several qualities  of service  (QOS).
  191.           This QOS is similar  to types of service (TOS) in  IP.  These QOS
  192.           values  allow a  packet  to be  "colored".     IDRP supports  the
  193.           calculation  of  separate  paths  for  each  of  these  different
  194.           qualities of service  by means of Distinguishing  Attributes [5],
  195.           thus allowing paths or routes to be "colored".       
  196.            
  197.           When an  ISO 8473  packet comes  into a  router, the  router will
  198.           check to  see if the packet has  been "colored" by QOS.    If so,
  199.           the  router looks up  the destination address  in the appropriate
  200.  
  201.  
  202.                                           3
  203.  
  204.  
  205.  
  206.  
  207.           QOS's routing  table.   The  IDRP  protocol specifies  a  mapping
  208.           between  the   QOS  values  (packet's  "color")     and  an  IDRP
  209.           inter-domain pathway (the route's "color").   If no QOS value has
  210.           been set, the default routing table is used.  
  211.            
  212.           Most  of the  Internet  will  probably start  out  having only  a
  213.           "default"  QOS (or colorless  pathway).  Packets  without any QOS
  214.           (colorless  packets)  may be  able  to travel  much  further than
  215.           "colored" packets.   If a pathway of the right QOS (color) is not
  216.           available, the packet is dropped.
  217.  
  218.           The CLNP QOS function or an IDRP QOS pathway  does not have to be
  219.           supported by  each system in  the pathway.  However,  each system
  220.           must  correctly  handle a  packet  with  a QOS  value  set.   For
  221.           example, suppose a particularly miserly end system wanted to send
  222.           a packet along  pathways which had minimal  costs.  He would  set
  223.           the "Expense"  bit (perhaps  like a green  color) in  the network
  224.           layer packet and  shove the packet out the door to  a router.  If
  225.           IS-IS is used  within a routing domain, the  local routing domain
  226.           would pass  the packet  on a  low expense  route until  it hit  a
  227.           router on the  border of the routing domain.   This border router
  228.           would check  in its routing tables to find  a route which had low
  229.           expense.  If it found one, the miserly end systems's packet would
  230.           speed along  low cost  routes.   If a  route was  not found,  the
  231.           packet would be discarded and an  Error PDU would be passed  back
  232.           to the miserly end system.  Given that our miserly end system did
  233.           not want  to spend lots  of money reaching the  destination, this
  234.           behavior  makes the end system happy.   If the miserly end system
  235.           must spend the  money to  send this  packet, it can  switch to  a
  236.           route with no QOS set (colorless) when it receives the ERROR PDU.
  237.            
  238.  
  239.            (Figure 2 - Miserly Packet example goes here.  Note
  240.             figure two is only available in the postscript version.
  241.             The figure is available for anonymous ftp from merit.edu.
  242.             The file is located in /pub/iso/noop/tutorial/idrp.f02.ps)
  243.  
  244.           Scope of QOS
  245.           -------------
  246.  
  247.           The "color" of a packet (QOS) or route (Distinguishing Attribute)
  248.           has a scope.   The scope may either be specific to:
  249.  
  250.                - a source address
  251.                  (a route may have scope for a group of source addresses),
  252.                - a destination address
  253.                  (a route may have scope for a group of destination
  254.                   addresses), or
  255.                - a globally unique QOS such as the Expense flag.
  256.  
  257.           Two  types  of   "color"  for  the  packet  or   route  (QOS  and
  258.           Distinguishing Attributes)  deal with  source addresses:   Source
  259.           Specific  QOS  and Source  Specific  Security QOS.  Two  types of
  260.           "color" deal with destination addresses: Destination Specific QOS
  261.           and Destination Specific Security QOS.
  262.  
  263.           To indicate a  globally unique QOS value,  a value is set  in the
  264.           header of  a CLNP (ISO  8473) packet in  an option  field.    For
  265.           example, the packet from our miserly  end system would have a bit
  266.           set that indicates "Expense" QOS.   The  "Expense" Distinguishing
  267.           Attribute which IDRP maps to the "Expense" QOS has  a value which
  268.  
  269.  
  270.                                           4
  271.  
  272.  
  273.  
  274.  
  275.           indicates how expensive  each route is.  However,  the meaning of
  276.           that "Expense QOS" value may be valid only within an RD  or a set
  277.           of RDs. 
  278.  
  279.           Global availability or  agreement on the  colors of "packets"  or
  280.           routes will  probably take  a great deal  of coordination  in the
  281.           Inter-Domain   realm.    Today's   Internet  is  built   on  such
  282.           coordination  between  networks.   The  current  policies  on how
  283.           routes  are passed  in  the Internet  are  implemented in  router
  284.           configurations in lots of networks.
  285.  
  286.           For the  scope  of  a  "color"  or a  packet  (QOS)  or  a  route
  287.           (Distinguishing Attribute) to truly be global, many countries may
  288.           have to agree on the exact syntax and meaning of a "color".   For
  289.           example,   NSF currently limits  any traffic  passing across  the
  290.           NSFNET to  being non-commercial  and in support  of research  and
  291.           education.   This  type of  policy restriction  may  be illogical
  292.           within Japan  or Australia.   If our  miserly packet  was from  a
  293.           University,  it  could  find  a  "golden"  pathway that  was  the
  294.           research pathway through the US.  But  when it hit the US border,
  295.           the definition of what this "golden" pathway means may simply not
  296.           apply  to  Canada  or  Japan  or  Australia  or  imply  something
  297.           different within those countries.
  298.  
  299.            
  300.           Protocol Overview
  301.           ==================
  302.  
  303.           A router that participates in inter-domain routing (and thus runs
  304.           the  IDRP protocol)  is  known as  a  Border Intermediate  System
  305.           (BIS).  A  routing  domain may contain  one or more BISs.   A BIS
  306.           uses policy to select among the routes it receives.  In order for
  307.           the IDRP protocol to work, all the BISs within an  RD must have a
  308.           reliable  and consistent  picture of  how to  route packets.   To
  309.           minimize the network bandwidth and processing power used by IDRP,
  310.           IDRP must help control the amount of information passed. The next
  311.           sections  stroll  through  the  features  provided  by  the  IDRP
  312.           protocol.
  313.            
  314.           Architectural Place of IDRP
  315.           ----------------------------
  316.            
  317.           IDRP  is part of  the suite of  routing protocols for  in the OSI
  318.           Network Layer, and runs over the OSI Connectionless Network Layer
  319.           Protocol (CLNP ISO 8473).   IDRP describes how PDUs are exchanged
  320.           between BISs, how routes are constructed, and how protocol errors
  321.           are handled, but the choice of how routes are selected is left to
  322.           the local BIS's policy.  BIS  PDUs are passed between BISs within
  323.           a domain and between BISs in different routing domains.
  324.             
  325.           IDRP is a Path Vector Method Protocol
  326.           -------------------------------
  327.  
  328.           IDRP is  a "path  vector" protocol, which  is neither  a distance
  329.           vector nor  a  link state  protocol.   The distance  metric of  a
  330.           distance vector  protocol is not required.    Unlike a link state
  331.           protocol, the  full topology  and explicit  link  status are  not
  332.           distributed.  In a "path vector" protocol, the routes distributed
  333.           contain a  complete path  to the  source of  the route.   Such  a
  334.           protocol provides the following:
  335.            
  336.  
  337.  
  338.                                           5
  339.  
  340.  
  341.  
  342.  
  343.                  - a vector of path attributes,
  344.                  - one route to destination for each QOS value,
  345.                  - excellent information hiding/abstraction and
  346.                  - provides for hop-by-hop routing.
  347.  
  348.           Inclusion  of path information allows more rapid convergence than
  349.           classic  distance vector protocols  and eliminates the  "count to
  350.           infinity" problem.
  351.  
  352.           IDRP Information Flow
  353.           ----------------------
  354.  
  355.           IDRP  operates  between pairs  of  BISs  as  shown in  figure  3.
  356.           Similar  to the  BGP protocol  in the  IP Internet, IDRP  is used
  357.           between BISs within the same routing domain so that the entire RD
  358.           has a consistent picture of inter-domain routing.
  359.             
  360.            
  361.                --------                                ---------
  362.                | RD A  |                               | RD C   |
  363.                |    BIS|\            -----------      /|BIS     |
  364.                | BIS   |  \          |   RD B   |   /  ----------  
  365.                ---------    ---------|BIS    BIS|---
  366.                  |                  /|BIS    BIS|\     -----------
  367.                  |                 | -----------  \    |  RD E   |
  368.                ---------           |               \---|BIS      |
  369.               | BIS  BIS|----------|-------------------|         | 
  370.               | RD D    |          |                   -----------
  371.               | BIS  BIS|\       --------
  372.               ----------  \ -----| BIS  |
  373.                 |                | RD G |   
  374.                 |                --------
  375.               -----------
  376.               | BIS     |
  377.               | RD F    | 
  378.               -----------
  379.            
  380.              Figure 3 - Routing Domains connected by BISs
  381.            
  382.           IDRP allows each BIS to  control routing information passed on to
  383.           other BISs.  Only routes which satisfy  the local policy of a BIS
  384.           and have been selected to be to be used will be passed on to  the
  385.           next BIS. 
  386.            
  387.           IDRP exchanges routing  information between BISs within  a domain
  388.           and  between adjacent BISs  in adjacent  routing domains.   Since
  389.           IDRP  routing updates  are incremental,  routing traffic  between
  390.           BISs are  minimized.  The heaviest  flow of traffic comes  when a
  391.           BIS  first  becomes  operational.    The  BIS  must  establish  a
  392.           connection to  other BISs in  its RD and  adjacent RDs.   Routing
  393.           information must be sent from the adjacent BISs to this new  BIS.
  394.  
  395.  
  396.           A BIS's  route re-calculation is  partial and event  driven (only
  397.           newly arrived  routes need  to be evaluated).   The  events which
  398.           cause route re-calculation are:
  399.           - a BIS receives an incremental routing update with new routes, 
  400.           - a BIS neighbor goes down, or
  401.           - a BIS neighbor comes up.  
  402.            
  403.  
  404.  
  405.  
  406.                                           6
  407.  
  408.  
  409.  
  410.  
  411.           Loop Suppression in IDRP
  412.           ------------------------- 
  413.           The  richly   interconnected  Internet   topology  provides   the
  414.           opportunity to  construct paths that  form loops.   However, IDRP
  415.           will never construct looping paths  because it keeps track of all
  416.           RDs traversed  by a route.  If  a BIS sees its own  RD in a route
  417.           advertised by a BIS in another RD, it will ignore that route.
  418.  
  419.           Routing Domain Identifiers
  420.           --------------------------
  421.           IDRP uses a Routing Domain Identifier (RDI) to uniquely  identify
  422.           a Routing  Domain.  The  Routing Domain Identifier is  taken from
  423.           the same address space as the Network Service Access Point (NSAP)
  424.           addresses. RDIs are  drawn from the NSAP address  space solely to
  425.           simplify  administration;   no  relationship  should be  inferred
  426.           between  the value  of an  RDI  and the  NSAP addresses  resident
  427.           within the RD.
  428.  
  429.           IDRP Path Attributes
  430.           ---------------------
  431.  
  432.           Like  BGP,  IDRP  defines  a  pathway  as  a  pairing  between  a
  433.           destination and the attributes  of that path to  the destination.
  434.           A destination in IDRP is described by Network  Layer Reachability
  435.           Information  (NLRI).    NLRI contains  groups  of  NSAP addresses
  436.           described by NSAP  prefixes.  IDRP describes pathways through the
  437.           morass  of routing  domains as  ordered sequences  of RDIs.   For
  438.           example, the pathway in Figure 3 between A and E could be A,B,E. 
  439.  
  440.  
  441.           In  IDRP, the attributes of a path  to a destination describe the
  442.           characteristics  of  the path.    Of these  attributes,  some are
  443.           "Distinguishing  attributes" and  color  the routes.     Figure 4
  444.           shows which attributes can be listed together on a pathway.   
  445.            
  446.           Like your mother when she gave you choices of vegetables, you can
  447.           choose one from Group A, one from Group  B and one from Group C. 
  448.           Unlike your mother, you also have the  choice of "none", which is
  449.           called "default" routing (no vegetables).
  450.  
  451.           Figure 4 - Possible Groups of Distinguished attributes
  452.            
  453.           Group A             Group B        Group C
  454.           --------------      ----------     -----------------
  455.           -Transit Delay      -Priority      -Source Sensitive
  456.           -Residual Error                     Security
  457.           -Expense                           -Destination
  458.           -Capacity                           Sensitive
  459.           -Source Sensitive                   Security
  460.            QOS
  461.           -Destination 
  462.            Sensitive QOS
  463.  
  464.  
  465.           Information Bases
  466.           -----------------
  467.            
  468.           For  each  unique combination  of  distinguishing  attributes and
  469.           destinations, there is  local policy  that affects  the router.  
  470.           IDRP policy is akin to BGP policy.  It is policy that is set by a
  471.           routing domain administrator  for a routing domain  and expressed
  472.  
  473.  
  474.                                           7
  475.  
  476.  
  477.  
  478.  
  479.           in local  configuration files on  each node.  The  functioning of
  480.           the "global"  internet policy  is  the combination  of all  these
  481.           "local" policies.   
  482.            
  483.           Each BIS builds a Routing Information Base (RIB) based on routing
  484.           information received  from other BISs  and from within  the local
  485.           RD.  The  RIB represents the set of routes that has been selected
  486.           for use by the BIS.
  487.            
  488.           Each remote BIS neighbor sends a BIS its RIB for each  unique set
  489.           of distinguishing attributes.  For  example, if a BIS supports an
  490.           expense attribute (for our miserly network user) and a route with
  491.           default  QOS,   a  Routing  Information  Base  will be  sent  for
  492.           expense  QOS and  for default  QOS.     This routing  information
  493.           contains only the active routes selected by the neighbor.
  494.            
  495.           The local BIS, upon receiving this information, uses local policy
  496.           to select the routes, and updates its RIB.  From the RIB the  BIS
  497.           generates  a  Forwarding   Information  Base  (FIB).     The  FIB
  498.           effectively contains a set of  destinations and next hop BISs for
  499.           each destination.
  500.            
  501.           Upon the loss  of a BIS neighbor,  the local BIS will  re-run the
  502.           route selection function.  The local BIS will use local policy to
  503.           select  among the routes from the remaining neighbors, update its
  504.           RIB, and generate a new FIB.
  505.  
  506.           Routing Domain Confederations
  507.           -----------------------------
  508.           A  Routing  Domain  Confederation (RDC)  is  a  group  of routing
  509.           domains that join together in such a way that they appear to be a
  510.           single routing domain  as viewed from outside the RDC.   The only
  511.           common policy that must be supported among the members of the RDC
  512.           is that  all routes between members of  the RDC must lie entirely
  513.           within the RDC.   RDCs provide a powerful  mechanism for reducing
  514.           the complexity of  routing information, since the  details of the
  515.           internal  topology  of  the  RDC are  hidden  from  those domains
  516.           outside  the  RDC.    In  addition,  the  size  of  the  RD  path
  517.           information carried  by IDRP will  be reduced.  RDCs  can overlap
  518.           and/or  be nested.   Figure 5 shows  6 RD organized  into 3 RDCs.
  519.           RDCs A and B overlap. RDC C is nested inside of RDC B.
  520.  
  521.           Routing Domain Confederations  - Figure 5
  522.            
  523.           6 RDs, organized into 3 Routing Confederations
  524.            
  525.                 -----------------|
  526.                 | RDC A   -------|-----------------| 
  527.                 |         | RDC B    ------------  |
  528.                 |         |          |RDC C     |  | 
  529.                 |    RD1--|---RD4----|-------RD6|  | 
  530.                 |  /  |   |  /   \   |      /   |  | 
  531.                 | |   |   | |     \  |    /     |  | 
  532.                 --|---|---| |      ----RD5      |  | 
  533.                  RD2  RD3-|-|        |----------|  |
  534.                           |-------------------------
  535.            
  536.            
  537.             
  538.  
  539.           How IDRP provides Scaling
  540.  
  541.  
  542.                                           8
  543.  
  544.  
  545.  
  546.  
  547.           --------------------------
  548.           IDRP provides  good scaling  by a variety  of mechanisms.   Three
  549.           types  of  information  can  be  abstracted  or  hidden:  Network
  550.           reachability  information,  topology   information,  and  transit
  551.           policies.    Topology information  is  expressed in  terms  of RD
  552.           pathways to the remote destination.  
  553.  
  554.           The abstractions IDRP  provides are comforting in the  face of an
  555.           expanding internet.   This  abstraction of  data will  lessen the
  556.           routing  information that  is  passed  around.    Less  bandwidth
  557.           devoted  to  routing  means  there  is  more  bandwidth  for  the
  558.           internet's real purpose- sending data from here to there.  
  559.  
  560.           "Hiding" by Use of OSI NSAP Structure
  561.           --------------------------------------
  562.           Network reachability information  can be abstracted or  hidden by
  563.           using the hierarchical nature of  the NSAP address to group NSAPs
  564.           under shorter NSAP  prefixes.  Such prefixes are  carried in IDRP
  565.           routes.  Figure 6 shows  an example of how several  addresses are
  566.           combined into a shorter  prefix.  A part of an  NSAP address used
  567.           to describe a group of NSAP addresses is called an NSAP Prefix. 
  568.  
  569.           Figure 6 - Combination of NSAPs into a Prefix
  570.            
  571.           47.0005.80.ffff00.0000.0001.0001.010203040506.01 
  572.           47.0005.80.ffff00.0000.0001.0002.80ff32401f23.01
  573.           47.0005.80.ffff00.0000.0001.0003.800103040500.01
  574.            
  575.           could be  represented by  one  of the  following prefixes,  among
  576.           others (going from most specific to most general).  
  577.            
  578.           47.0005.80.ffff00.0000.0001 or 47.0005.80.ffff00 or 47.0005 or 47
  579.  
  580.  
  581.  
  582.           Sets of RDs Compress RD Pathway (Topology) Information
  583.           -------------------------------------------------------
  584.  
  585.           In combination with the use of NSAP prefixes, RD path information
  586.           can abstracted from  an ordered sequence of RDIs  to an unordered
  587.           set of RDIs.    Although some information is lost,  the automatic
  588.           loop suppression mechanism  in IDRP is preserved.    For example,
  589.           if paths to two destinations  have RD paths A,B,C and  A,B,D, the
  590.           single  unordered set  A,B,C,D could  be used  and a  single path
  591.           created.     This abstraction  may  allow multiple  routes to  be
  592.           aggregated based on the policies of a routing domain. 
  593.  
  594.  
  595.           RDCs allow Compression of Pathway Information and Policy
  596.           --------------------------------------------------------
  597.           Topology information can be abstracted using the IDRP  concept of
  598.           Routing  Domain Confederations.  RDCs provide  a  nice means  for
  599.           scaling.  Fewer policies need to be administered by other routing
  600.           domains.   Fewer total routes  need to  be reported to  the world
  601.           outside the RDC. Inside an RDC the policies are exploded to serve
  602.           the needs of RDs within the Confederation.  The IDRP protocol can
  603.           distinguish between intra-RDC and trans-RDC routing information. 
  604.           In addition, transit policies may  be implemented in the presence
  605.           of an RDC via the "Hierarchical Recording" feature.
  606.            
  607.           Transit policies can  also be abstracted by using  RDCs. RDCs can
  608.  
  609.  
  610.                                           9
  611.  
  612.  
  613.  
  614.  
  615.           be nested,  allowing  policy for  several routing  domains to  be
  616.           summarized as a single policy of a Routing Confederation.  
  617.  
  618.  
  619.           Taming the Shrew -Reducing the Information Flow in Policy Routing
  620.           -----------------------------------------------------------------
  621.           In  the play  by William  Shakespeare, "Taming  of the  Shrew," a
  622.           husband seeks to tame a head-strong wife.   The wife has a strong
  623.           verbal flow and a  stronger temper.  He accomplishes this task by
  624.           taming himself  and the wife.   The wife learns that  ranting and
  625.           raving can be  more effective if it is  truthful, used sparingly,
  626.           and directed at the right person. 
  627.  
  628.           RFC  1104  describes the  same  sort  of  global taming  for  the
  629.           Internet.   The Internet,  like the  wife, has  a strong  flow of
  630.           information which must  be tamed by correct policies  in order to
  631.           let packets peacefully  flow.  Routes, like "ranting and raving,"
  632.           must be directed at just the right routing domains. 
  633.  
  634.  
  635.           IDRP provides  a taming or  reduction of routing  information and
  636.           processing via control of the  distribution of information.  Only
  637.           the actual  routes that  are selected  to be  used by  a BIS  are
  638.           propagated  to other  routing  domains.     Like  what "truth  in
  639.           advertising"   should  be  for  home  appliances,  the  BIS  only
  640.           advertises what it uses.  We  should have the same restriction on
  641.           those people who sell vacuum cleaners or coffee makers.
  642.  
  643.           Each RD may  also select the set  of RDs to which its  routes are
  644.           distributed.  In this way, transit routing policies are supported
  645.           via control of  the distribution of routing  information.  Again,
  646.           to use the analogy of home appliances,  a company could choose to
  647.           not ship  chain saws to  someone under 16  years of age.    Route
  648.           selection  processing is also reduced because routes are selected
  649.           based  on routes  received (actual  routes only)  plus  the local
  650.           BIS's policy, which can further reduce the number of routes.
  651.  
  652.           The IDRP attributes "DIST_LIST_INCL"  and "DIST_LIST_EXCL"   give
  653.           routing domains the means to select the routing domains that will
  654.           receive their  routing information.  The  "DIST_LIST_INCL" allows
  655.           routing information to  be sent to RDIs listed  in the attribute.
  656.           "DIST_LIST_EXCL" allows routing information to be sent to any RDI
  657.           not included  in the  attribute list.   An  RDI in  one of  these
  658.           attributes  can  specify either  a  routing domain  or  a routing
  659.           domain confederation.  
  660.  
  661.           The use  Routing Domain confederation (RDCs) also  helps tame the
  662.           flow of routing information needed.  The "Hierarchical Recording"
  663.           attribute helps track  when RDCs have been entered  and exited so
  664.           routes can limited to within an RDC.  Once a RDC has been entered
  665.           and the "Hierarchical Recording" attribute is set, routes  can be
  666.           advertised only to  BISs that can be reached  without exiting any
  667.           RDCs.  An RDC can be nested within an RDC or overlap another RDC.
  668.           Routes can be announced to RDs:
  669.                - within the same RDC,
  670.                - in an RDC nested in side this RDC, or
  671.                - or in an overlapping RDC.
  672.  
  673.           This establishes  a Hierarchy  of RDs as  you enter  further into
  674.           nested or overlapping RDCs and controls route transitivity. 
  675.  
  676.  
  677.  
  678.                                           10
  679.  
  680.  
  681.  
  682.  
  683.           Disjoint RDCs  are RDCs which can only  be reached by exiting all
  684.           routing confederations  in which  this  local BIS  resides.   The
  685.           "Hierarchical Recording" attribute cannot  be passed between  two
  686.           Disjoint RDCs.
  687.  
  688.  
  689.           Interaction with Intra-Domain routing
  690.           -------------------------------------
  691.           IDRP  may need  to interact  with intra-domain  routing if  it is
  692.           running in  an RD that contains end systems.   First of all, IDRP
  693.           needs to know the set of NSAP prefixes reachable within the local
  694.           routing domain.     This information is  likely to  be statically
  695.           configured  information,  and   not  extracted  dynamically  from
  696.           intra-domain routing.  
  697.            
  698.           Secondly, a representation of the  destinations reachable outside
  699.           of  the RD may be injected  into intra-domain routing so that the
  700.           appropriate exit  BIS can  be reached.   This information  may be
  701.           provided to intra-domain routing in a dynamic fashion.
  702.            
  703.           Both  of   these  interactions   can  be   accomplished  by   the
  704.           manipulation   of   managed   objects  via   network   management
  705.           primitives.
  706.            
  707.            
  708.           Reliability built into IDRP
  709.           ---------------------------
  710.            
  711.           Like the truck ads  that say "Ford  tough", the IDRP protocol  is
  712.           built to  be "internet tough".   All communications  between peer
  713.           BISs  can  be  protected  through  the  use  of  a  cryptographic
  714.           signature on a per-packet basis.
  715.  
  716.           Unlike BGP, IDRP implements its own reliable transport. Each
  717.           data-carrying  packet (BIS protocol  data unit (PDU))  contains a
  718.           sequence  number which  is  used  for  re-transmission  and  flow
  719.           control.  Data-carrying PDUs are the OPEN PDU (which contains the
  720.           connection   information),   the  UPDATE   PDU   (which  contains
  721.           incremental  routing information), and the RIB REFRESH PDU (which
  722.           contains routing  information).  A retransmission  timer controls
  723.           the retransmission of packets.   The method of flow control  is a
  724.           window scheme.   This scheme  only allows a  fixed number of  BIS
  725.           PDUs to  be transmitted  to a  remote BIS  neighbor prior  to the
  726.           local BIS receiving an acknowledgement. 
  727.  
  728.            
  729.           Especially Neat Features of IDRP
  730.           --------------------------------
  731.            
  732.           Thanks to the  rich technical  environment of  the Internet,  the
  733.           contributors  to the IDRP specification have  put in several neat
  734.           features to  make it  work even better  than BGP.   Two  of these
  735.           features which have made it into the current CD ballot version of
  736.           the document are:
  737.            
  738.             1.) A BIS playing route server for another router
  739.             2.) RIB Refresh PDU 
  740.            
  741.           Some features which are under discussion but not in the CD ballot
  742.           are: Auto-configuration of BISs and Source-based routes.
  743.            
  744.  
  745.  
  746.                                           11
  747.  
  748.  
  749.  
  750.  
  751.           The Route server function in IDRP allows one BIS to do policy and
  752.           handle the BIS PDUS but point to  another router to do the packet
  753.           switching.  Suppose  your BIS was running on a slow packet pusher
  754.           (perhaps a unix  system running "gated").  With  the route server
  755.           you can point your data flow to a fast packet pusher of a  router
  756.           (say one of the commercially available routers) and traffic would
  757.           not be impacted by the IDRP protocol running on a slow machine.  
  758.  
  759.  
  760.  
  761.  
  762.           (figure 7 - Route Server.  Figure 7 is only available in
  763.           postscript.  The figure is available for anonymous ftp
  764.           from merit.edu in the directory /pub/iso/noop/tutorial
  765.           the file is idrp.f07.ps)
  766.  
  767.           By  using a  RIB  REFRESH PDU,  a  BIS  may refresh  its  Routing
  768.           Information Base (RIB) from a neighbor BIS or to send its  active
  769.           routing information to a neighbor BIS.   If a router detects that
  770.           its routing information has been corrupted, it can get fresh IDRP
  771.           routing information from all its neighbors.  Or perhaps something
  772.           convinces the  BIS (or  the person operating  the router)  that a
  773.           neighbor  BIS has scrambled the routing information advertised by
  774.           the  local BIS.  The local BIS  simply ships the remote BIS a new
  775.           copy of the RIB. 
  776.  
  777.  
  778.           Auto-configuration of BISs involve the methods by  which BISs can
  779.           communicate  with each other without having to pre-configure each
  780.           neighbor BIS.   This feature could make it easier to add new BISs
  781.           to an RD without having to reconfigure all other BISs.
  782.  
  783.           Each network  packet (NPDU) has  a source  and destination  field
  784.           just like a good old IP packet.  Source-based routing establishes
  785.           routes   based  on   both  source   and  destination   addresses.
  786.           Source-based   routing  may  help  "commercial"  traffic  take  a
  787.           different  route than "research" traffic or provide two different
  788.           routes to the  same destination, each tagged for  a different set
  789.           of source addresses.   
  790.  
  791.  
  792.           Conclusion
  793.           -----------
  794.           IDRP reminds one of "Stone soup".  "Stone soup" is described in a
  795.           children's fairy tale  in which three soldiers return  from a war
  796.           and no  one in the  village wants  to give them  any food.   They
  797.           start  with 3 stones in a pot of  water.  By the end of the tale,
  798.           the villagers  have added all  the vegetables, meat  and potatoes
  799.           you could ever want.
  800.            
  801.           IDRP  started  with the  concepts  of  BGP  and the  OSI  routing
  802.           framework.  These two original  concepts are like the "stones" in
  803.           the  "stone soup."  To this beginning,   the experience and needs
  804.           of the  Internet community and  the ANSI X3S3.3  communities have
  805.           been added  to  make IDRP  one OSI  protocol full  of "meat"  and
  806.           substance. 
  807.            
  808.           IDRP has already followed the  tradition of Internet protocols by
  809.           having a prototype developed by Merit during the CD ballot stage.
  810.           Nothing  improves  a   protocol  like  an  implementor.     Often
  811.           implementors cannot  wait until  they "talk" to  the person  that
  812.  
  813.  
  814.                                           12
  815.  
  816.  
  817.  
  818.  
  819.           wrote  a protocol specification.   This dialogue  is most painful
  820.           when you are both implementor and the person that helped with the
  821.           original text.  
  822.            
  823.           Perhaps  this tutorial  has given  you  an appetite  to read  the
  824.           protocol and  any associated  documents.  Below  you will  find a
  825.           reading list  to help  you fill up  on OSI  routing issues.   Bon
  826.           appetit!
  827.            
  828.            
  829.           References
  830.            
  831.             [1]  "Information processing systems - Telecommunications and
  832.                   information exchange between systems - OSI Routeing
  833.                   Framework"  (ISO TR 9575)
  834.            
  835.             [2]  "RFC 1136 - Administrative Domains and Routing Domains: A
  836.                   Model for Routing in the Internet" (Hares/Katz)
  837.            
  838.             [3]  "Information processing systems - Telecommunications
  839.                   and information exchange between systems - Protocol
  840.                   for Providing the Connectionless-Mode Network Service"
  841.                   (ISO 8473) March 1987
  842.            
  843.             [4]  "Information processing systems - Telecommunications and
  844.                   information exchange between systems - End System to
  845.                   Intermediate system routeing exchange protocol for use
  846.                   in conjunction with the Protocol for providing 
  847.                   connectionless-mode network service (ISO 8473)" 
  848.                   (ISO 9542) March 1988
  849.            
  850.             [5]  "Information processing systems - Telecommunications and
  851.                   information exchange between systems - Intermediate 
  852.                   system to Intermediate System Intra-Domain Routeing
  853.                   Exchange protocol for use in Conjunction with the 
  854.                   Protocol for Providing the Connectionless-mode 
  855.                   Network Service (ISO 8473)", ISO 10589, forthcoming
  856.            
  857.            
  858.            
  859.             Reading List
  860.             ---------------
  861.                  RFC 1136
  862.                  RFC 1237
  863.                  RFC 1195
  864.            
  865.                  Tutorials on the ISO routing documents [3], [4], [5], 
  866.                  found on merit.edu in the /pub/iso/noop/tutorial.
  867.                  
  868.                  The actual ISO documents [1], [3], [4], [5], and IDRP.
  869.                  Working copies of IS-IS, and IDRP can be found on 
  870.                  merit.edu for ANSI X3S3.3 committee work in the
  871.                  /pub/iso directory.
  872.  
  873.                  ANSI X3S3.3 notes and mail archives on IDRP.  The ANSI
  874.                  X3S3.3 archives are on merit.edu.  The ANSI X3S3.3 mail
  875.                  list is x3s33@merit.edu.     
  876.                  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.                                           13
  883.  
  884.  
  885.